"use strict";
var keyofFn;
(function (keyofFn) {
    // keyof 运算符采用对象类型并生成其键的字符串或数字字面联合。返回对象的key值
    let s;
    s = "x";
    let sss = "toString";
    /*
  ^  在泛型约束中使用类型参数
  ^  你可以声明受另一个类型参数约束的类型参数。例如，在这里我们想从一个给定名称的对象中获取一个属性。
  ^  我想确保我们不会意外获取 obj 上不存在的属性，因此我们将在两种类型之间放置约束：
   */
    function getProperty(obj, key) {
        return obj[key];
    }
    let xxxx = { a: 1, b: 2, c: 3, d: 4 };
    let zz = getProperty(xxxx, "a");
    let sdasd = 40;
    let m = "asd";
    m = 0;
})(keyofFn || (keyofFn = {}));
